﻿using JetBrains.Annotations;
using JetBrains.ReSharper.Feature.Services.Generate;
using JetBrains.ReSharper.Psi.Tree;

namespace GammaJul.ReSharper.GammaXaml.Services.CSharp.Generate {
	
	/// <summary>
	/// Represents a generated dependency property CLR wrapper.
	/// </summary>
	internal class GeneratorDpDeclarationElement : GeneratorDeclarationElement {
		private readonly DpGeneratorField _dpGeneratorField;

		/// <summary>
		/// Gets the <see cref="DpGeneratorField"/> for which a declaration has been generated.
		/// </summary>
		[NotNull]
		internal DpGeneratorField DpGeneratorField {
			get { return _dpGeneratorField; }
		}

		internal GeneratorDpDeclarationElement([NotNull] IDeclaration declaration, [NotNull] DpGeneratorField dpGeneratorField)
			: base(declaration) {
			_dpGeneratorField = dpGeneratorField;
		}
	}

}